home *** CD-ROM | disk | FTP | other *** search
/ HyperLib 1997 Winter - Disc 1 / HYPERLIB-1997-Winter-CD1.ISO.7z / HYPERLIB-1997-Winter-CD1.ISO / オンラインウェア / UTIL / Alpha 6.5.sit / Tcl / Menus / internetConfigMenu.tcl < prev    next >
Text File  |  1996-08-15  |  3KB  |  120 lines

  1. # nowrap
  2.  
  3. if $startingUp {
  4.     set icMenu            "・139"
  5.     addMenu icMenu
  6.     return
  7. }
  8.  
  9.  
  10. set icMenu "・139"
  11.  
  12. proc icMenu {} {}
  13.  
  14.  
  15. menu -n $icMenu -p internetProc {
  16.     "menu -n urls {}"
  17.     "/'<I<OpickUrl"
  18.     (-
  19.     goTo
  20.     help
  21.     (-
  22.     webBrowser
  23.     newsClient
  24.     mailClient
  25.     (-
  26.     ftpClient
  27.     gopherClient
  28.     telnetClient
  29.     (-
  30.     resolveUrl
  31.     viewHtmlFile
  32. }
  33.  
  34.  
  35. proc internetProc {menu item} {
  36.     global HOME
  37.     
  38.     if {[catch {switch $item {
  39.         pickUrl icPickUrl
  40.         goTo icOpen
  41.         help {edit -r "$HOME:Help:Internet Config"}
  42.         webBrowser {launch -f [icGetPref -t 1 {helper・http}]}
  43.         mailClient {launch -f [icGetPref -t 1 {helper・mailto}]}
  44.         ftpClient {launch -f [icGetPref -t 1 {helper・ftp}]}
  45.         gopherClient {launch -f [icGetPref -t 1 {helper・gopher}]}
  46.         telnetClient {launch -f [icGetPref -t 1 {helper・telnet}]}
  47.         newsClient {launch -f [icGetPref -t 1 {helper・news}]}
  48.         resolveUrl {icURL [getSelect]}
  49.         viewHtmlFile htmlSendWindow
  50.     }}]} {
  51.         alertnote "Despite what Internet Config says, you should reboot after using IC for the first time."
  52.         launch -f "$HOME:Tools:Internet Config"
  53.     }
  54. }
  55.  
  56.  
  57. proc icPickUrl {} {
  58.     global savedUrls
  59.     if {![catch {listpick -p "Pick URL:" [lsort [array names savedUrls]]} res]} {
  60.         icURL $savedUrls($res)
  61.     }
  62. }
  63.  
  64.  
  65. proc rebuildUrlMenu {} {
  66.     global urlMenu savedUrls
  67.     menu -m -n urls -p urlProc {
  68.         "Add"
  69.         "View"
  70.         "Remove"
  71.         "(-"
  72.     }
  73.  
  74.     foreach url [lsort -ignore [array names savedUrls]] {
  75.         addMenuItem -m -l "  " urls $url
  76.     }
  77. }
  78.  
  79. rebuildUrlMenu
  80.  
  81. # http://www.cs.umd.edu/~keleher/localHome.html
  82. proc urlProc {menu item} {
  83.     global savedUrls modifiedArrVars
  84.     
  85.     if {$item == "Add"} {
  86.         if {[catch getSelect def]} {set def {}}
  87.         set res [dialog -h 105 -w 370 -b OK 10 80 70 100 -b Cancel 100 80 160 100 -t {Name:} 10 10 60 30 -t {URL:} 10 40 60 60 -e "" 60 10 360 30 -e $def 60 40 360 60 ] 
  88.         if {[lindex $res 0]} {
  89.             set nm [lindex $res 2]
  90.             set t [lindex $res 3]
  91.             if {![string length $t] || ![string length $nm]} {
  92.                 beep
  93.                 return
  94.             }
  95.             set savedUrls($nm) $t
  96.             lappend modifiedArrVars savedUrls
  97.             rebuildUrlMenu
  98.         }
  99.     } elseif {$item == "Remove"} {
  100.         set r [listpick -p "Remove which URL?" [lsort [array names savedUrls]]]
  101.         unset savedUrls($r)
  102.         removeArrDef savedUrls $r
  103.         rebuildUrlMenu
  104.     } elseif {$item == "View"} {
  105.         if {[info exists savedUrls]} {
  106.             set lines {}
  107.             foreach nm [array names savedUrls] {
  108.                 append lines [format "%-20s ¥"%s¥"¥r" $nm [set savedUrls($nm)]]
  109.             }
  110.             new -n {* Saved URLs *}
  111.             insertText $lines
  112.             shrinkWindow
  113.             setWinInfo dirty 0
  114.             setWinInfo read-only 1
  115.         }
  116.     } else {
  117.         icURL [set savedUrls($item)]
  118.     }
  119. }
  120.